package com.vpx.server.service.system;

import com.vpx.server.bean.entity.SysRoleAuth;
import com.vpx.server.bean.info.system.MenuTreeInfo;
import com.vpx.server.bean.order.authority.LoginOrder;
import com.vpx.server.bean.result.system.AuthMenuResult;
import com.vpx.server.bean.result.system.UserDetailResult;
import com.vpx.server.framework.aop.ServiceHandler;
import com.vpx.server.framework.base.BaseResult;
import com.vpx.server.framework.base.ResultMsg;

import java.util.List;

/**
 * @author lihui
 * @title: vpx
 * @module system
 * @description:  权限相关
 * @date 2021/9/11 17:50
 */
public interface AuthorityService {
    /**
     * 用户登录
     * @param order
     * @return
     */
    ResultMsg login(LoginOrder order);

    /**
     * 获取操作有权限的菜单和操作
     * @param userId
     * @return
     */
    ResultMsg<AuthMenuResult> getAuthMenu(Long userId);
    
    /**
     * 查询信息
     * @param userId
     * @return
     */
    ResultMsg<UserDetailResult> queryUserInfo(Long userId);
    /**
     * 获取菜单和功能点
     * @param roleIdList
     * @return
     */
    ResultMsg<List<MenuTreeInfo>> getMenuTreeAndOperate(List<Long> roleIdList);

    /**
     * 获取树形菜单
     * @return
     */
    ResultMsg<List<MenuTreeInfo>> getMenuTree();
}
